#pragma once
#include "GameComponent.h"								//Use the game componenet class so we can create a subclass
#include "GameObject.h"									//Use the game object class so we can tell which GO is the parent of this component
#include "Message.h"
#include "MessageHandler.h"


using namespace std;

class Health: public GameComponent						//The class Health is a GameComponent
{
private:
	int hp ;											// Holds current Health.
	int maxhp ;											// Maximum Health of gameobject.
	int minhp ;											// Minimum Health of gameobject.

public:

	Health(int inputMaxHP, int inputHP, int inputMinHP = 0, GameObject* inputParent = NULL);	//This is the constructor method
	void setHealth(int inputMaxHP, int inputHP, int inputMinHP = 0);	// Sets the  Health stats of gameobject.
	void addHealth(int amountofHealth);					// Adds Health equivalent to amountofHealth.
	void removeHealth(int amountofHealth);				// Removes Health equivalent to amountofHealth.

	int getHealth();									// Return the current Health.

	int getMaxHealth();									// Return the Max Health
	int getMinHealth();									// Return the Min Health
};